{extend name="property/public/insidePageBase" /}
{block name="title"}账单明细列表{/block}
{block name="body"}
<div class="layuimini-container">
    <div class="layuimini-main">
        <form class="layui-form layui-form-pane" action="">
            <div class="layui-inline">
                <label class="layui-form-label">按分类筛选</label>
                <div class="layui-input-inline">
                    <input type="text" name="cates_id" id="mer_category" autocomplete="off" class="layui-input">
                </div>
            </div>
            <div class="layui-inline">
                <label class="layui-form-label">关键词搜索</label>
                <div class="layui-input-inline">
                    <input type="text" name="keywords" autocomplete="off" class="layui-input" placeholder="请输入关键词搜索信息">
                </div>
            </div>
            <div class="layui-inline">
                <button type="submit" class="layui-btn layui-btn-primary"  lay-submit lay-filter="data-search-btn"><i class="layui-icon"></i> 搜 索</button>
            </div>
        </form>
        <script type="text/html" id="toolbar">
            <div class="layui-btn-container">
                {if $addAuth}<button class="layui-btn layui-btn-normal layui-btn-sm data-add-btn" lay-event="add"> 添加 </button>{/if}
                {if $delAuth}<button class="layui-btn layui-btn-sm layui-btn-danger data-delete-btn" lay-event="delete"> 删除 </button>{/if}
            </div>
        </script>
        <table class="layui-hide" id="propertyBillFinanceList" lay-filter="propertyBillFinanceList"></table>
        <script type="text/html" id="tableBar">
            <div class="layui-btn-group">
                {if $editAuth} <a class="layui-btn layui-btn-sm  layui-btn-normal" lay-event="edit">编辑</a>{/if}
                {if $detailAuth}<a class="layui-btn layui-btn-sm" lay-event="detail">详情</a>{/if}
                {if $delAuth}<a class="layui-btn layui-btn-sm layui-btn-danger" lay-event="delete">删除</a>{/if}
            </div>
        </script>
        <script type="text/html" id="is_type_tpl">
            {{# if(d.is_type === 1) { }}<span style="color: darkgreen;"> 收入</span>{{# } }}
            {{# if(d.is_type === 2) { }}<span style="color: red;">支出</span> {{# } }}
        </script>
    </div>
</div>
{/block}
{block name="js"}
{__block__}
<script>
    layui.use(['form', 'table', 'laydate', 'layCascader'], function () {
        var $ = layui.jquery, form = layui.form, table = layui.table,laydate = layui.laydate,layCascader = layui.layCascader;
        let merCategory = layCascader({
            elem: '#mer_category',
            clearable: true,
            value: 0,
            placeholder:'顶级分类',
            props: {
                checkStrictly: true
            },
            options: {:json_encode($cateNameData,JSON_UNESCAPED_UNICODE)}
        });
        var tableId = 'propertyBillFinanceList';
        table.render({
            elem: '#'+tableId,
            id:tableId,
            url: '{:url("propertyBillFinanceList")}',
            toolbar: '#toolbar',
            cols: [[
                {type: "checkbox", width: 50},
                {field: 'full_cate_name', width: 158, title: '费用类别', sort: true},
                {field: 'property_name', width: 168, title: '物业信息',sort: true},
                {field: 'is_type', width: 78, title: '收支',  sort: true, templet:'#is_type_tpl', align: "center"},
                {field: 'start_date', width: 108, title: '开始时间', sort: true},
                {field: 'end_date', width: 108, title: '结束时间', sort: true},
                {field: 'amount', width: 108, title: '收支金额', sort: true},
                {field: 'remark', minWidth: 108, title: '备注说明', sort: true},
                {field: 'add_time', width: 168, title: '支付时间', sort: true},
                {field: 'finance_no', width: 218, title: '流水编号', sort: true},
                {if $editAuth || $detailsAuth || $delAuth}
                , {title: '操作', width: 168, toolbar: '#tableBar', fixed:'right'}
                {/if}
            ]],
            limits: [10, 15, 20, 25, 50, 100],
            limit: 15,
            page: true,
            height: 'full-80'
        });
        // 监听搜索操作
        form.on('submit(data-search-btn)', function (data) {table.reload(tableId, {page: { curr: 1  }, where: data.field}, 'data'); return false; });
        table.on('toolbar('+tableId+')', function(obj) {
            if (obj.event === 'add') { // 添加
                var url = '{:url("propertyBillFinanceAdd")}';
                var index = layer.open({title: '添加收支明细',type: 2, shade: 0.2, maxmin: true, area: ['650px', '680px'], content: url, btnAlign: 'c', btn: ['确定', '取消'],yes: function(index, layero) {
                        var iframeWindow = window['layui-layer-iframe' + index],submit = layero.find('iframe').contents().find("#submitBtn");
                        iframeWindow.layui.form.on('submit(submitBtn)', function(data){
                            var field = data.field;//获取提价的数据
                            var loadAdd = layer.msg('提交中', {icon:16, time:0, shade:0.1, offset:'15px'});
                            $.post(url, field, function(res){
                                layer.close(loadAdd);
                                if (res.code === 0) {
                                    table.reload(tableId); //数据刷新
                                    layer.close(index); //关闭弹层
                                    layer.msg(res.msg, {icon: 6, offset: '15px'});
                                } else {
                                    layer.msg(res.msg, {icon: 5, offset: '15px'});
                                }
                            })
                        })
                        submit.trigger('click');
                    }
                })
                $(window).on("resize", function () {
                    layer.full(index);
                });
                return false;
            } else if (obj.event === 'delete') {  // 监听删除操作
                var checkStatus = table.checkStatus(obj.config.id)
                    , data = checkStatus.data;
                var data = checkStatus.data, id = [];
                for (elem in data) {
                    id.push(data[elem].id);
                }
                if (id.length === 0) {
                    return layer.msg('请选择要删除的数据');
                }
                var url = '{:url("propertyBillFinanceDel")}';
                layer.confirm('删除后不可恢复！  是否确认? ', {icon: 3}, function () {
                    var loadAdd = layer.msg('提交中', {icon: 16, time: 0, shade: 0.1, offset: '15px'});
                    $.post(url, {ids: id}, function (res) {
                        layer.close(loadAdd);
                        if (res.code === 0) {
                            table.reload(tableId); //数据刷新
                            layer.msg(res.msg, {icon: 6, offset: '15px'});
                        } else {
                            layer.msg(res.msg, {icon: 5, offset: '15px'});
                        }
                    });
                });
            }
        });

        table.on('tool('+tableId+')', function(obj){
            var data = obj.data
            if(obj.event === 'edit'){
                var url = '{:url("propertyBillFinanceEdit")}?id='+data.id
                var index = layer.open({ title: '编辑收支明细',type: 2,shade: 0.2,maxmin: true, area: ['680px', '600px'], content: url, btnAlign: 'c',btn: ['确定','取消'], yes: function( index, layero) {
                        var iframeWindow = window['layui-layer-iframe' + index],submit = layero.find('iframe').contents().find("#submitBtn");
                        iframeWindow.layui.form.on('submit(submitBtn)', function(data){
                            var field = data.field //获取提交的字段
                            var loadAdd = layer.msg('提交中',{icon: 16, time: 0, shade: 0.1, offset: '15px'})
                            $.post(url, field, function(res){
                                layer.close(loadAdd)
                                if(res.code === 0) {
                                    table.reload(tableId)
                                    layer.close(index)
                                    layer.msg(res.msg, {icon:6, offset: '15px'})
                                }else {
                                    layer.msg(res.msg, {icon:5, offset: '15px'})
                                }
                            })
                        })
                        submit.trigger('click')
                    }
                })
                $(window).on("resize", function(){
                    layer.full(index)
                })
                return false
            } else if (obj.event === 'detail') {
                var url = '{:url("propertyBillFinanceDetail")}?id='+data.id;
                var index = parent.layer.open({title:data.finance_no + ' 流水详情 '  , type: 2, shade: 0.2, maxmin: true, shadeClose:true, move:false,area: ['800px', '100%'],offset:  'rt', anim: 2, content: url , btn:false });
                return false;
            }else if(obj.event === 'delete') {//删除
                var url = '{:url("propertyBillFinanceDel")}';
                layer.confirm('删除后不可恢复！是否确定？',{icon:3}, function(){
                    var loadAdd = layer.msg('提交中',{icon:16, time:0, shade: 0.1, offset:"15px"})
                    $.post(url, {ids:[data.id]}, function(res){
                        layer.close(loadAdd)
                        if(  res.code === 0 ){
                            table.reload(tableId)
                            layer.msg(res.msg,{icon:6, offset: '15px'})
                        }else {
                            layer.msg(res.msg, {icon:5, offset: '15px'})
                        }
                    })
                })
            }
        })
    });
</script>
{/block}